package ${mapperPackage};

import ${modelPackage}.${clazz.className};
import ${mapperPackage}.${clazz.className}Mapper;
import jp.co.binal.framework.mybatis.pagination.Page;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.ResultMap;
import org.apache.ibatis.annotations.SelectProvider;
import org.mybatis.dynamic.sql.select.render.SelectStatementProvider;
import org.mybatis.dynamic.sql.util.SqlProviderAdapter;

import java.util.List;

/**
* Comment:  ${clazz.classComment} mapper extra
* @author: ${author}
* @date:   ${date}
*/
@Mapper
public interface ${clazz.className}ExMapper extends ${clazz.className}Mapper {

    /**
     * pagination query
     *
     * @param page
     * @param selectStatement
     * @return
     */
    @SelectProvider(type= SqlProviderAdapter.class, method="select")
    @ResultMap("${clazz.className}Result")
    List<${clazz.className}> selectPage(Page page, SelectStatementProvider selectStatement);

}